package com.literaryfamily.literaryfamily.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PaymentsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PaymentsExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdIsNull() {
            addCriterion("payments_id is null");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdIsNotNull() {
            addCriterion("payments_id is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdEqualTo(String value) {
            addCriterion("payments_id =", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdNotEqualTo(String value) {
            addCriterion("payments_id <>", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdGreaterThan(String value) {
            addCriterion("payments_id >", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdGreaterThanOrEqualTo(String value) {
            addCriterion("payments_id >=", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdLessThan(String value) {
            addCriterion("payments_id <", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdLessThanOrEqualTo(String value) {
            addCriterion("payments_id <=", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdLike(String value) {
            addCriterion("payments_id like", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdNotLike(String value) {
            addCriterion("payments_id not like", value, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdIn(List<String> values) {
            addCriterion("payments_id in", values, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdNotIn(List<String> values) {
            addCriterion("payments_id not in", values, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdBetween(String value1, String value2) {
            addCriterion("payments_id between", value1, value2, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andPaymentsIdNotBetween(String value1, String value2) {
            addCriterion("payments_id not between", value1, value2, "paymentsId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdIsNull() {
            addCriterion("transaction_id is null");
            return (Criteria) this;
        }

        public Criteria andTransactionIdIsNotNull() {
            addCriterion("transaction_id is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionIdEqualTo(String value) {
            addCriterion("transaction_id =", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotEqualTo(String value) {
            addCriterion("transaction_id <>", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdGreaterThan(String value) {
            addCriterion("transaction_id >", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdGreaterThanOrEqualTo(String value) {
            addCriterion("transaction_id >=", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdLessThan(String value) {
            addCriterion("transaction_id <", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdLessThanOrEqualTo(String value) {
            addCriterion("transaction_id <=", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdLike(String value) {
            addCriterion("transaction_id like", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotLike(String value) {
            addCriterion("transaction_id not like", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdIn(List<String> values) {
            addCriterion("transaction_id in", values, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotIn(List<String> values) {
            addCriterion("transaction_id not in", values, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdBetween(String value1, String value2) {
            addCriterion("transaction_id between", value1, value2, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotBetween(String value1, String value2) {
            addCriterion("transaction_id not between", value1, value2, "transactionId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdIsNull() {
            addCriterion("payer_user_id is null");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdIsNotNull() {
            addCriterion("payer_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdEqualTo(Long value) {
            addCriterion("payer_user_id =", value, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdNotEqualTo(Long value) {
            addCriterion("payer_user_id <>", value, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdGreaterThan(Long value) {
            addCriterion("payer_user_id >", value, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("payer_user_id >=", value, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdLessThan(Long value) {
            addCriterion("payer_user_id <", value, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdLessThanOrEqualTo(Long value) {
            addCriterion("payer_user_id <=", value, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdIn(List<Long> values) {
            addCriterion("payer_user_id in", values, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdNotIn(List<Long> values) {
            addCriterion("payer_user_id not in", values, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdBetween(Long value1, Long value2) {
            addCriterion("payer_user_id between", value1, value2, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPayerUserIdNotBetween(Long value1, Long value2) {
            addCriterion("payer_user_id not between", value1, value2, "payerUserId");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountIsNull() {
            addCriterion("payment_amount is null");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountIsNotNull() {
            addCriterion("payment_amount is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountEqualTo(BigDecimal value) {
            addCriterion("payment_amount =", value, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountNotEqualTo(BigDecimal value) {
            addCriterion("payment_amount <>", value, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountGreaterThan(BigDecimal value) {
            addCriterion("payment_amount >", value, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("payment_amount >=", value, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountLessThan(BigDecimal value) {
            addCriterion("payment_amount <", value, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("payment_amount <=", value, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountIn(List<BigDecimal> values) {
            addCriterion("payment_amount in", values, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountNotIn(List<BigDecimal> values) {
            addCriterion("payment_amount not in", values, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("payment_amount between", value1, value2, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("payment_amount not between", value1, value2, "paymentAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIsNull() {
            addCriterion("payment_method is null");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIsNotNull() {
            addCriterion("payment_method is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodEqualTo(Integer value) {
            addCriterion("payment_method =", value, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodNotEqualTo(Integer value) {
            addCriterion("payment_method <>", value, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodGreaterThan(Integer value) {
            addCriterion("payment_method >", value, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodGreaterThanOrEqualTo(Integer value) {
            addCriterion("payment_method >=", value, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodLessThan(Integer value) {
            addCriterion("payment_method <", value, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodLessThanOrEqualTo(Integer value) {
            addCriterion("payment_method <=", value, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIn(List<Integer> values) {
            addCriterion("payment_method in", values, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodNotIn(List<Integer> values) {
            addCriterion("payment_method not in", values, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodBetween(Integer value1, Integer value2) {
            addCriterion("payment_method between", value1, value2, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodNotBetween(Integer value1, Integer value2) {
            addCriterion("payment_method not between", value1, value2, "paymentMethod");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNull() {
            addCriterion("created_at is null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNotNull() {
            addCriterion("created_at is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtEqualTo(Date value) {
            addCriterion("created_at =", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotEqualTo(Date value) {
            addCriterion("created_at <>", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThan(Date value) {
            addCriterion("created_at >", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("created_at >=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThan(Date value) {
            addCriterion("created_at <", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
            addCriterion("created_at <=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIn(List<Date> values) {
            addCriterion("created_at in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotIn(List<Date> values) {
            addCriterion("created_at not in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtBetween(Date value1, Date value2) {
            addCriterion("created_at between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
            addCriterion("created_at not between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyIsNull() {
            addCriterion("is_third_party is null");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyIsNotNull() {
            addCriterion("is_third_party is not null");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyEqualTo(Boolean value) {
            addCriterion("is_third_party =", value, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyNotEqualTo(Boolean value) {
            addCriterion("is_third_party <>", value, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyGreaterThan(Boolean value) {
            addCriterion("is_third_party >", value, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_third_party >=", value, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyLessThan(Boolean value) {
            addCriterion("is_third_party <", value, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyLessThanOrEqualTo(Boolean value) {
            addCriterion("is_third_party <=", value, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyIn(List<Boolean> values) {
            addCriterion("is_third_party in", values, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyNotIn(List<Boolean> values) {
            addCriterion("is_third_party not in", values, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyBetween(Boolean value1, Boolean value2) {
            addCriterion("is_third_party between", value1, value2, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andIsThirdPartyNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_third_party not between", value1, value2, "isThirdParty");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountIsNull() {
            addCriterion("payment_account is null");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountIsNotNull() {
            addCriterion("payment_account is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountEqualTo(String value) {
            addCriterion("payment_account =", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNotEqualTo(String value) {
            addCriterion("payment_account <>", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountGreaterThan(String value) {
            addCriterion("payment_account >", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountGreaterThanOrEqualTo(String value) {
            addCriterion("payment_account >=", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountLessThan(String value) {
            addCriterion("payment_account <", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountLessThanOrEqualTo(String value) {
            addCriterion("payment_account <=", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountLike(String value) {
            addCriterion("payment_account like", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNotLike(String value) {
            addCriterion("payment_account not like", value, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountIn(List<String> values) {
            addCriterion("payment_account in", values, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNotIn(List<String> values) {
            addCriterion("payment_account not in", values, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountBetween(String value1, String value2) {
            addCriterion("payment_account between", value1, value2, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNotBetween(String value1, String value2) {
            addCriterion("payment_account not between", value1, value2, "paymentAccount");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameIsNull() {
            addCriterion("payment_account_name is null");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameIsNotNull() {
            addCriterion("payment_account_name is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameEqualTo(String value) {
            addCriterion("payment_account_name =", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameNotEqualTo(String value) {
            addCriterion("payment_account_name <>", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameGreaterThan(String value) {
            addCriterion("payment_account_name >", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameGreaterThanOrEqualTo(String value) {
            addCriterion("payment_account_name >=", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameLessThan(String value) {
            addCriterion("payment_account_name <", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameLessThanOrEqualTo(String value) {
            addCriterion("payment_account_name <=", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameLike(String value) {
            addCriterion("payment_account_name like", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameNotLike(String value) {
            addCriterion("payment_account_name not like", value, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameIn(List<String> values) {
            addCriterion("payment_account_name in", values, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameNotIn(List<String> values) {
            addCriterion("payment_account_name not in", values, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameBetween(String value1, String value2) {
            addCriterion("payment_account_name between", value1, value2, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andPaymentAccountNameNotBetween(String value1, String value2) {
            addCriterion("payment_account_name not between", value1, value2, "paymentAccountName");
            return (Criteria) this;
        }

        public Criteria andBankNameIsNull() {
            addCriterion("bank_name is null");
            return (Criteria) this;
        }

        public Criteria andBankNameIsNotNull() {
            addCriterion("bank_name is not null");
            return (Criteria) this;
        }

        public Criteria andBankNameEqualTo(String value) {
            addCriterion("bank_name =", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotEqualTo(String value) {
            addCriterion("bank_name <>", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameGreaterThan(String value) {
            addCriterion("bank_name >", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameGreaterThanOrEqualTo(String value) {
            addCriterion("bank_name >=", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameLessThan(String value) {
            addCriterion("bank_name <", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameLessThanOrEqualTo(String value) {
            addCriterion("bank_name <=", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameLike(String value) {
            addCriterion("bank_name like", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotLike(String value) {
            addCriterion("bank_name not like", value, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameIn(List<String> values) {
            addCriterion("bank_name in", values, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotIn(List<String> values) {
            addCriterion("bank_name not in", values, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameBetween(String value1, String value2) {
            addCriterion("bank_name between", value1, value2, "bankName");
            return (Criteria) this;
        }

        public Criteria andBankNameNotBetween(String value1, String value2) {
            addCriterion("bank_name not between", value1, value2, "bankName");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeIsNull() {
            addCriterion("payment_time is null");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeIsNotNull() {
            addCriterion("payment_time is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeEqualTo(Date value) {
            addCriterion("payment_time =", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeNotEqualTo(Date value) {
            addCriterion("payment_time <>", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeGreaterThan(Date value) {
            addCriterion("payment_time >", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("payment_time >=", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeLessThan(Date value) {
            addCriterion("payment_time <", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeLessThanOrEqualTo(Date value) {
            addCriterion("payment_time <=", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeIn(List<Date> values) {
            addCriterion("payment_time in", values, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeNotIn(List<Date> values) {
            addCriterion("payment_time not in", values, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeBetween(Date value1, Date value2) {
            addCriterion("payment_time between", value1, value2, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeNotBetween(Date value1, Date value2) {
            addCriterion("payment_time not between", value1, value2, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionIsNull() {
            addCriterion("transaction_description is null");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionIsNotNull() {
            addCriterion("transaction_description is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionEqualTo(String value) {
            addCriterion("transaction_description =", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionNotEqualTo(String value) {
            addCriterion("transaction_description <>", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionGreaterThan(String value) {
            addCriterion("transaction_description >", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("transaction_description >=", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionLessThan(String value) {
            addCriterion("transaction_description <", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionLessThanOrEqualTo(String value) {
            addCriterion("transaction_description <=", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionLike(String value) {
            addCriterion("transaction_description like", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionNotLike(String value) {
            addCriterion("transaction_description not like", value, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionIn(List<String> values) {
            addCriterion("transaction_description in", values, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionNotIn(List<String> values) {
            addCriterion("transaction_description not in", values, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionBetween(String value1, String value2) {
            addCriterion("transaction_description between", value1, value2, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andTransactionDescriptionNotBetween(String value1, String value2) {
            addCriterion("transaction_description not between", value1, value2, "transactionDescription");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusIsNull() {
            addCriterion("payment_status is null");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusIsNotNull() {
            addCriterion("payment_status is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusEqualTo(Integer value) {
            addCriterion("payment_status =", value, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusNotEqualTo(Integer value) {
            addCriterion("payment_status <>", value, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusGreaterThan(Integer value) {
            addCriterion("payment_status >", value, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("payment_status >=", value, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusLessThan(Integer value) {
            addCriterion("payment_status <", value, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusLessThanOrEqualTo(Integer value) {
            addCriterion("payment_status <=", value, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusIn(List<Integer> values) {
            addCriterion("payment_status in", values, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusNotIn(List<Integer> values) {
            addCriterion("payment_status not in", values, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusBetween(Integer value1, Integer value2) {
            addCriterion("payment_status between", value1, value2, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andPaymentStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("payment_status not between", value1, value2, "paymentStatus");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersIsNull() {
            addCriterion("external_orders is null");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersIsNotNull() {
            addCriterion("external_orders is not null");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersEqualTo(String value) {
            addCriterion("external_orders =", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersNotEqualTo(String value) {
            addCriterion("external_orders <>", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersGreaterThan(String value) {
            addCriterion("external_orders >", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersGreaterThanOrEqualTo(String value) {
            addCriterion("external_orders >=", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersLessThan(String value) {
            addCriterion("external_orders <", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersLessThanOrEqualTo(String value) {
            addCriterion("external_orders <=", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersLike(String value) {
            addCriterion("external_orders like", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersNotLike(String value) {
            addCriterion("external_orders not like", value, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersIn(List<String> values) {
            addCriterion("external_orders in", values, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersNotIn(List<String> values) {
            addCriterion("external_orders not in", values, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersBetween(String value1, String value2) {
            addCriterion("external_orders between", value1, value2, "externalOrders");
            return (Criteria) this;
        }

        public Criteria andExternalOrdersNotBetween(String value1, String value2) {
            addCriterion("external_orders not between", value1, value2, "externalOrders");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}